//package com.xiaoge;
//
//import org.springframework.context.SmartLifecycle;
//import org.springframework.stereotype.Component;
//import org.springframework.web.client.RestTemplate;
//
///**
// * todo springboot启动必须满足调用接口成功, springboot才会启动成功
// */
//@Component
//public class InterfaceLifecycleCheck implements SmartLifecycle {
//
//    private boolean isRunning = false;
//
//    @Override
//    public void start() {
//        if (!checkApi()) {
//            throw new IllegalStateException("关键接口不可用，应用启动终止");
//        }
//        isRunning = true;
//    }
//
//    private boolean checkApi() {
//        try {
//            RestTemplate restTemplate = new RestTemplate();
//            // 添加超时设置
//            return restTemplate.getForObject(
//                "https://api.example.com/health",
//                String.class
//            ).contains("OK");
//        } catch (Exception e) {
//            return false;
//        }
//    }
//
//    @Override
//    public void stop() {
//        isRunning = false;
//    }
//
//    @Override
//    public boolean isRunning() {
//        return isRunning;
//    }
//
//    @Override
//    public int getPhase() {
//        return Integer.MIN_VALUE; // 最高优先级，最先执行
//    }
//}